#ifndef IMAGECOORDINATE_H
#define IMAGECOORDINATE_H

#include <QObject>
#include <QMap>
#include <QString>
#include <QDir>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonDocument>

// 图像坐标结构体
struct ImageCoordinate {
    int fixtureRow;     // 治具行
    int fixtureCol;     // 治具列
    int fovRow;         // FOV行
    int fovCol;         // FOV列

    ImageCoordinate();
    ImageCoordinate(int fr, int fc, int fvr, int fvc);

    QString toString() const;

    QJsonObject toJson() const;

    static ImageCoordinate fromJson(const QJsonObject& json);
};


// 图像文件信息结构体
struct ImageFileInfo {
    QString originalName;    // 原始文件名
    QString renamedName;     // 重命名后的文件名（Halcon兼容）
    QString fullPath;        // 完整路径
    ImageCoordinate coordinate; // 坐标信息

    ImageFileInfo() = default;
    ImageFileInfo(const QString& orig, const QString& renamed, const QString& path, const ImageCoordinate& coord);

    QJsonObject toJson() const;

    static ImageFileInfo fromJson(const QJsonObject& json);
};

#endif // IMAGECOORDINATE_H
